為 Squid 服務建立 keytab 檔案

您可以使用相同的使用者帳戶在叢集的所有節點上進行身分驗證。為此,您必須為這些節點中的每一個建立一個包含服務主要名稱 (SPN)keytab 檔案。建立 keytab 檔案時,必須使用屬性產生(雜湊函數修飾字元)。

產生的鹽必須使用您選擇的方法進行儲存,以便隨後將新的 SPN 新增到 keytab 檔案中。

您還可以為要為其配置 Kerberos 身分驗證的每個叢集節點建立單獨的 Active Directory 使用者帳戶。

使用網域管理員帳戶,在網域控制器伺服器或屬於該網域的 Windows Server 電腦上建立 keytab 檔案。

要使用單一使用者帳戶為 Squid 服務建立 keytab 檔案:

  1. 在“Active Directory 使用者和電腦”管理單元中,建立一個名稱為 squid-user 的使用者帳戶。
  2. 要使用 AES256-SHA1 加密演算法,請在 Active Directory 使用者和電腦管理單元中執行以下操作:
    1. 開啟建立的帳戶的內容。
    2. 帳戶標籤中,選取此帳戶支援 Kerberos AES 256 位加密核取方塊。
  3. 使用 ktpass 公用程式為 squid-user 建立 keytab 檔案。為此,請在命令列執行以下指令:

    C:\Windows\system32\ktpass.exe -princ HTTP/<具有 Squid 服務的伺服器名稱>@<大寫的 realm Active Directory> -mapuser squid-user@<realm 大寫 Active Directory 網域名稱> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * +dumpsalt -out <檔案路徑>\<檔案名稱>.keytab

    應該用小寫指定託管 Squid 服務的伺服器的名稱(例如,proxy.company.com)。

    當您執行命令時,該公用程式會提示您輸入 squid-user 的密碼。

    控制節點的 SPN 項目將被新增到建立的 keytab 檔案中。將顯示產生的鹽:帶有鹽“<雜湊值>”的雜湊密碼。

  4. 對於叢集的每個節點,將 SPN 項目新增到 keytab 檔案中。為此,執行以下指令:

    C:\Windows\system32\ktpass.exe -princ HTTP/<節點的完整限定網域名稱 (FQDN)>@<realm 大寫 Active Directory 網域名稱> -mapuser squid-user@<大寫 Active Directory 網域名稱> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <先前建立的檔案路徑和名稱>.keytab -out <路徑和新名稱>.keytab -setupn -setpass -rawsalt "<在第 3 步建立 keytab 檔案時獲得的鹽雜湊值>"

    當您執行命令時,該公用程式會提示您輸入 squid-user 的密碼。

將為 Squid 服務建立 keytab 檔案。此檔案將包含叢集節點的所有已新增的 SPN。

示例:

例如,您需要建立包含以下 3 個節點 SPN 的 keytab 檔案:control-01.test.localsecondary-01.test.localsecondary-02.test.local

要在 C:\keytabs\ 資料夾中建立包含控制節點 SPN 的 filename1.keytab 檔案,必須執行以下命令:

C:\Windows\system32\ktpass.exe -princ HTTP/control-01.test.local@TEST.LOCAL -mapuser squid-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * +dumpsalt -out C:\keytabs\filename1.keytab

假設您獲得了鹽 "TEST.LOCALHTTPcontrol-01.test.local"

要新增一個 SPN,您必須執行以下指令:

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-01.test.local@TEST.LOCAL -mapuser squid-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename1.keytab -out C:\keytabs\filename2.keytab -setupn -setpass -rawsalt "TEST.LOCALHTTPcontrol-01.test.local"

要新增第三個 SPN,您必須執行以下指令:

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-02.test.local@TEST.LOCAL -mapuser squid-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename2.keytab -out C:\keytabs\filename3.keytab -setupn -setpass -rawsalt "TEST.LOCALHTTPcontrol-01.test.local"

這將導致建立一個名為 filename3.keytab 的檔案,其中包含所有三個新增的 SPN。

要針對每個節點使用單獨的使用者帳戶為 Squid 伺服器建立 keytab 檔案:

  1. 在“Active Directory 使用者和電腦”管理單元中,為每個叢集節點建立一個單獨的使用者帳戶(例如,名稱為 squid-usersquid-user2squid-user3 等的使用者帳戶)。
  2. 要使用 AES256-SHA1 加密演算法,請在 Active Directory 使用者和電腦管理單元中執行以下操作:
    1. 開啟建立的帳戶的內容。
    2. 帳戶標籤中,選取此帳戶支援 Kerberos AES 256 位加密核取方塊。
  3. 使用 ktpass 公用程式為 squid-user 建立 keytab 檔案。為此,請在命令列執行以下指令:

    C:\Windows\system32\ktpass.exe -princ HTTP/<具有 Squid 服務的伺服器小寫名稱>@<realm 大寫 Active Directory 網域名稱> -mapuser squid-user@<realm 大寫 Active Directory 網域名稱> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out <檔案路徑>\<檔案名稱>.keytab

    應該用小寫指定託管 Squid 服務的伺服器的名稱(例如,proxy.company.com)。

    當您執行命令時,該公用程式會提示您輸入 squid-user 的密碼。

    控制節點的 SPN 項目將被新增到建立的 keytab 檔案中。

  4. 對於叢集的每個節點,將 SPN 項目新增到 keytab 檔案中。為此,執行以下指令:

    C:\Windows\system32\ktpass.exe -princ HTTP/<節點的完整限定網域名稱 (FQDN)>@<realm 大寫 Active Directory 網域名稱> -mapuser squid-user@<realm 大寫 Active Directory 網域名稱> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <先前建立的檔案路徑和名稱>.keytab -out <路徑和新名稱>.keytab

    在這種情況下,當您執行命令時,公用程式會提示您輸入 squid-user2 的密碼。

將為 Squid 服務建立 keytab 檔案。此檔案將包含叢集節點的所有已新增的 SPN。

示例:

例如,您需要建立包含以下 3 個節點 SPN 的 keytab 檔案:control-01.test.localsecondary-01.test.localsecondary-02.test.local

要在 C:\keytabs\ 資料夾中建立包含控制節點 SPN 的 filename1.keytab 檔案,必須執行以下命令:

C:\Windows\system32\ktpass.exe -princ HTTP/control-01.test.local@TEST.LOCAL -mapuser squid-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out C:\keytabs\filename1.keytab

要新增一個 SPN,您必須執行以下指令:

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-01.test.local@TEST.LOCAL -mapuser squid-user2@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename1.keytab -out C:\keytabs\filename2.keytab

要新增第三個 SPN,您必須執行以下指令:

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-02.test.local@TEST.LOCAL -mapuser squid-user3@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename2.keytab -out C:\keytabs\filename3.keytab

這將導致建立一個名為 filename3.keytab 的檔案,其中包含所有三個新增的 SPN。

頁面頂端